package com.sgcc.pda.data.dao;

import android.content.Context;

import com.sgcc.pda.data.entity.knowls.DiagsInfo;
import com.sgcc.pda.data.entity.knowls.KnowInfoResult;
import com.sgcc.pda.data.entity.knowls.RepairsInfo;

import java.util.List;
/**
 * @创建者：suven on 2020/3/24 16:16
 * @描述： 知识库的内容提供者
 * @版本：1.0
 * @修改人：
 * @修改时间：
 * @修改说明：
 * @修改版本：
 */
public interface KnowlsContentProviderDao {

    /**
     * 查询知识库信息结果记录状态
     *
     * @param value 列名内容    1异常原因信息，2参数校验信息，3外设信息显示
     * @param appNo 工单编号
     * @return
     */
    List<KnowInfoResult> findInfo(Context context, String[] value, String appNo);

    /**
     * 根据异常类型和设备类型查询出异常原因编码
     *
     * @param abnType  异常类型
     * @param sblxbm   设备类型编码
     * @param inv_type 排查方式
     * @param context
     * @return 知识库信息
     */
    List<KnowInfoResult> findInfo(Context context, String abnType, String sblxbm, String inv_type);

    /**
     * 根据原子操作编码，查询出异常原因和原因名称
     *
     * @param e_dev_code 设备类型编码
     * @param abn_type   异常类型编码
     * @param at_code    原子操作
     * @return
     */
    List<KnowInfoResult> findAllInfo(Context context, String e_dev_code, String abn_type, String at_code);

    /**
     * 查询数据库中所有信息
     *
     * @param context
     * @return
     */
    List<String> findAllGroupByResonName(Context context);

    /**
     * 查询所有诊断方法、修复集合
     *
     * @param context
     * @param code    异常原因编码
     * @param abnTYpe 异常类型编码
     * @return
     */
    List<DiagsInfo> findAllDiagsInfo(Context context, String code, String abnTYpe);

    /**
     * @param context
     * @param code    异常原因编码
     * @param abnTYpe 异常类型编码
     * @return
     */
    List<RepairsInfo> findAllRepairInfo(Context context, String code, String abnTYpe);

    /**
     *
     * @param context
     * @param selections
     * @return
     */
    int updateKnowResult(Context context, String[] selections);

    /**
     *
     * @param context
     * @param selections
     * @return
     */
    int updateKnowInfoResult(Context context, String[] selections);

    /**
     *
     * @param context
     * @param selections
     * @return
     */
    int updateKnowInfoResultName(Context context, String[] selections);

    /**
     *
     * @param context
     * @param code
     * @param appNo
     * @return
     */
    List<KnowInfoResult> findAllExceptional(Context context, String code, String appNo);

    /**
     *
     * @param context
     * @param app_no
     * @param inv_type
     * @return
     */
    List<KnowInfoResult> findZGJCAll(Context context, String app_no, String inv_type);


}
